Uvodzovky v SQL skripte

Otázka od: miro_mr

10. 6. 2004 10:07

Ahoj,
mam tabulku v databazi firebird a udaje z nej chcem vyexportovat pomocou SQL
skriptu a nasledne ich pomocou tohoto skriptu (prikaz INSERT) naimportovat
do inej databazy.
Vsetko ide hladko ale v zaznamoch kde v textovych polozkach su dvojite
uvodzovky tak mi to havaruje.
Da sa tento problem nejako obist?
Miro


Odpovedá: Jiri Virt

10. 6. 2004 10:05

a dvojite uvozovky tam ams proc? spatnz nazev fieldu?

ja to resim mezi tabulkou .. proste nejak prejmenovat fieldy.

Jirka Virt

Odpovedá: miro_mr

10. 6. 2004 10:13

----- Original Message -----
From: "Jiri Virt" <virt@volny.cz>


> ja to resim mezi tabulkou .. proste nejak prejmenovat fieldy.

spatne som sa vyjadril.
Ak v textovej polozke - nie v jej nazve - je ulozeny text, ktory obsahuje
znak ".


Odpovedá: js-delphi@quick.cz

10. 6. 2004 11:00

Odesilatel: miro_mr <mms@szm.sk>

> skriptu a nasledne ich pomocou tohoto skriptu (prikaz INSERT)
> naimportovatdo inej databazy.
> Vsetko ide hladko ale v zaznamoch kde v textovych polozkach su dvojite
> uvodzovky tak mi to havaruje.

Ahoj!
Jo, tohle se da obejit elegantne pomoci parametru.
Priklad, kdy Ti to muze spadnout je:
IBQuery.SQL.Text:='Insert into tabulka (sloupec1, sloupec2) '+
                  'Values ('+Edit1.Text+', '+Edit2.Text+')';
Tohle je nebezpecne, protoze se tam muzou objevit znaky, ktere jsou nejak
vyhrazene - viz napr.
"
Obejdes to takhle:
IBQuery.SQL.Text:='Insert into tabulka (sloupec1, sloupec2) '+
                  'Values (:par1, :par2)'; //dvojtecka predznamenava parametr
IBQuery.ParamByName('par1').AsString:=Edit1.Text;//parametr se tady uz uvadi bez dvojtecky
IBQuery.ParamByName('par2').AsString:=Edit2.Text;
Tohle Ti projde bez problemu, at je tam co je tam... ;) (neber me zaslovo, vzdycky existuje nejake omezeni, ale Tvuj problem s "
by mel byt takhle vyresen)

Ahoj
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol@seznam.cz; 972 231 187
D6Prof+SP3; WinXPProf+SP1; FB 1.0.3
programator amater


Odpovedá: LUKES Vaclav

10. 6. 2004 11:13

U stringu na Oracle pouzivam nasledujici funkci:

QuotedStr

Vasek




-----Original Message-----
From: js-delphi@quick.cz [mailto:js-delphi@quick.cz]
Sent: Thursday, June 10, 2004 11:57 AM
To: delphi-l@clexpert.cz
Subject: Re: Uvodzovky v SQL skripte

Odesilatel: miro_mr <mms@szm.sk>

> skriptu a nasledne ich pomocou tohoto skriptu (prikaz INSERT)
> naimportovatdo inej databazy.
> Vsetko ide hladko ale v zaznamoch kde v textovych polozkach su dvojite
> uvodzovky tak mi to havaruje.

Ahoj!
Jo, tohle se da obejit elegantne pomoci parametru.
Priklad, kdy Ti to muze spadnout je:
IBQuery.SQL.Text:='Insert into tabulka (sloupec1, sloupec2) '+
                  'Values ('+Edit1.Text+', '+Edit2.Text+')';
Tohle je nebezpecne, protoze se tam muzou objevit znaky, ktere jsou nejak
vyhrazene - viz napr.
"
Obejdes to takhle:
IBQuery.SQL.Text:='Insert into tabulka (sloupec1, sloupec2) '+
                  'Values (:par1, :par2)'; //dvojtecka predznamenava parametr
IBQuery.ParamByName('par1').AsString:=Edit1.Text;//parametr se tady uz uvadi bez dvojtecky
IBQuery.ParamByName('par2').AsString:=Edit2.Text;
Tohle Ti projde bez problemu, at je tam co je tam... ;) (neber me zaslovo, vzdycky existuje nejake omezeni, ale Tvuj problem s "
by mel byt takhle vyresen)

Ahoj
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol@seznam.cz; 972 231 187
D6Prof+SP3; WinXPProf+SP1; FB 1.0.3
programator amater